860 PRINT "OPEN Blank spaces beneath the characters (0,...,30,...). ";BS;:INPUT X$:IF X$<>"" THEN BS=VAL(X$)
870 BEEP:PRINT"OPEN Now enter the character(s) to be added to the sign: ";:LINE INPUT WORD$
880 INPUT "OPEN Printout to paper (Y/N) N ";PRINTOUT$
890 IF PRINTOUT$="Y" OR PRINTOUT$="y" THEN PRINT "OPEN What ASCII should the printer use to construct sign characters--","OPEN ( @ fills well, but : conserves the ribbon). ";PC$;" ? ";:LINE INPUT X$:IF X$<>"" THEN PC$=X$
900 PRINT"OPEN":PRINT "OPEN Press <ENTER> to start.":PRINT"OPEN Press / to interrupt the process before the next character.";X$:PRINT"SCREEN";STRING$(77,"THEN");"LOAD":PRINT:PRINT
910 X$=INKEY$:IF X$<>CHR$(13) AND X$<>"/" THEN 910
920 DEF SEG=-4096 ' ROM holds 128 ASCII @ 8 bytes from here
930 FOR CP=1 TO LEN(WORD$) ' Position of this character
940 IF X$="/" THEN 1100 ' Test for interruption
950 FOR DC=7 TO 0 STEP-1 ' Dot column ('AND' below will mask 7 of 8)
960 FOR DPL=1 TO CWM ' Duplicate printout lines add boldness
970 PRINT STRING$(BS," "); ' Blank spaces below the characters
980 IF PRINTOUT$="Y" OR PRINTOUT$="y" THEN LPRINT STRING$(BS," ");'under
990 FOR DR=7 TO 0 STEP -1 ' dot row
1000 IF PEEK(-1426+(ASC(MID$(WORD$,CP,1)))*8+DR) AND 2^DC THEN PRINT STRING$(CHM,SC$); ELSE 1030
1010 IF PRINTOUT$="Y" OR PRINTOUT$="y" THEN LPRINT STRING$(CHM,PC$);
1020 GOTO 1050
1030 PRINT STRING$(CHM," ");
1040 IF PRINTOUT$="Y" OR PRINTOUT$="y" THEN LPRINT STRING$(CHM," ");
1050 NEXT DR:PRINT
1060 IF PRINTOUT$="Y" OR PRINTOUT$="y" THEN LPRINT" "
1070 NEXT DPL
1080 NEXT DC:X$=INKEY$
1090 NEXT CP
1100 PRINT:PRINT "For the next character(s) ... ":GOTO 800